#pragma once
#include "TemplateLista.h"
#include "Universidad.h"
using namespace std;

class Sistema{
private:
	Universidad *U;
	Lista<Profesor> *ProfReg;
public:
	Sistema();
	~Sistema();
	Universidad* getU();
	void agregarUniversidad(string,string,int);
	void modificarDatosU(string,int);
	void agregarDepartamento(string);
	void mostrarDepartamentos();
	Departamento* obtenerDepartamento(string);
	void agregarCurso(string,string,int,Departamento *);
	void mostrarCursos(Departamento*);
	Curso* obtenerCurso(string,Departamento*);
	void modificarDatosCurso(string,Curso*);
	void eliminarCurso(Curso*,Departamento*);
	Profesor* obtenerProfesor(Departamento*,string);
	void agregarProfesor(string,string,string,string,Departamento*);
	void modificarProfesor(string,string,string,Profesor*);
	void mostrarProfesorCedula(Profesor*);
	void mostrarProfesorEscuela(Departamento*);
	void asignarCursoProf(Curso*,Profesor*);
	void consultaListaCursoDeProf(Profesor*);
	void agregarEstudiante(Estudiante*);
	Estudiante* obtenerEstudiante(string);
	void AgregarCursoAEstudiante(Estudiante*,Curso*);

};